package com.iris.live.services.services;

import com.iris.live.services.data.models.调入付款详单Model;
import com.iris.live.services.data.models.调出收款详单Model;
import com.iris.live.services.data.models.财务开票Model;
import com.iris.live.services.data.models.财务详单Model;
import com.iris.live.services.models.PageData;
import com.iris.live.services.models.RequestBase;

import java.util.List;

/**
 * Created by shixy on 2016/8/12.
 */
public interface InvoiceService {

    PageData getInvoiceFinancialOperationList(String permit,InvoiceService.GetInvoiceFinancialOperationListRequest request);

    PageData getCollectionList(String permit,InvoiceService.getCollectionListRequest request);

    PageData getPaymentList(String permit,getPaymentListRequest request);

    PageData getSaleCollectionList(String permit,getSaleCollectionListRequest request);

    调入付款详单Model savePayment(调入付款详单Model model);

    List<调入付款详单Model> savePaymentBatch(List<调入付款详单Model> modelList);

    调出收款详单Model saveCollection(调出收款详单Model model);

    List<调出收款详单Model> saveCollectionBatch(List<调出收款详单Model> modelList);

    财务开票Model saveInvoice(财务开票Model model);

    List<财务开票Model> saveInvoiceBatch(List<财务开票Model> modelList);

    财务详单Model saveDetails(财务详单Model model);

    List<财务详单Model> saveDetailsBatch(List<财务详单Model> modelList);

    static class GetInvoiceFinancialOperationListRequest extends RequestBase {
        public String target;
        public String saleType;
        public String status;
        public String carType;
        public String vin;
        public String userName;
    }

    static class getCollectionListRequest extends RequestBase {
    }

    static class getPaymentListRequest extends RequestBase {
    }

    static class getSaleCollectionListRequest extends RequestBase {
    }
}
